/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package edu.ucue.ptc.gco.ws;

import edu.ucue.ptc.gco.mdl.Lote;
import edu.ucue.ptc.gco.ngc.LoteManagerLocal;
import edu.ucue.ptc.gco.util.AtributoInvalidoException;
import edu.ucue.ptc.gco.util.ElementoYaExisteException;
import java.util.List;
import javax.ejb.EJB;
import javax.jws.WebService;
import javax.ejb.Stateless;
import javax.jws.Oneway;
import javax.jws.WebMethod;
import javax.jws.WebParam;

/**
 *
 * @author Marcelo
 */
@WebService(serviceName = "LoteWebService")
@Stateless()
public class LoteWebService {
    @EJB
    private LoteManagerLocal ejbRef;// Add business logic below. (Right-click in editor and choose
    // "Web Service > Add Operation"

    @WebMethod(operationName = "crearLote")
    public void crearLote(@WebParam(name = "lote") Lote lote,@WebParam(name = "nombreUsuario") String nombreUsuario,@WebParam(name = "contrasenaUsuario") String contrasenaUsuario) throws AtributoInvalidoException, ElementoYaExisteException, Exception {
        ejbRef.crearLote(lote, nombreUsuario, contrasenaUsuario);
    }

    @WebMethod(operationName = "actualizarLote")
    public void actualizarLote(@WebParam(name = "lote") Lote lote,@WebParam(name = "nombreUsuario") String nombreUsuario,@WebParam(name = "contrasenaUsuario") String contrasenaUsuario) throws AtributoInvalidoException, ElementoYaExisteException, Exception {
        ejbRef.actualizarLote(lote, nombreUsuario, contrasenaUsuario);
    }

    @WebMethod(operationName = "eliminarLote")
    public void eliminarLote(@WebParam(name = "lote") Lote lote,@WebParam(name = "nombreUsuario") String nombreUsuario,@WebParam(name = "contrasenaUsuario") String contrasenaUsuario) throws AtributoInvalidoException, ElementoYaExisteException, Exception {
        ejbRef.eliminarLote(lote, nombreUsuario, contrasenaUsuario);
    }

    @WebMethod(operationName = "listarTodosLotes")
    public List<Lote> listarTodosLotes(@WebParam(name = "nombreUsuario") String nombreUsuario,@WebParam(name = "contrasenaUsuario") String contrasenaUsuario) throws AtributoInvalidoException, ElementoYaExisteException, Exception {
        return ejbRef.listarTodosLotes( nombreUsuario, contrasenaUsuario);
    }

    @WebMethod(operationName = "obtenerLotePorId")
    public Lote obtenerLotePorId(@WebParam(name = "idLote") int idLote,@WebParam(name = "nombreUsuario") String nombreUsuario,@WebParam(name = "contrasenaUsuario") String contrasenaUsuario) throws AtributoInvalidoException, ElementoYaExisteException, Exception {
        return ejbRef.obtenerLotePorId(idLote, nombreUsuario, contrasenaUsuario);
    }
   
}
